//
//  YJMNewFeatCollectionViewController.swift
//  Weibo
//
//  Created by 杨军民 on 16/7/22.
//  Copyright © 2016年 杨军民. All rights reserved.
//

import UIKit

/*
1、构造collectionView可视化layout
2、重用cell标识
3、实现数据源方法
4、扩展一个随机颜色的方法

5、设置流水布局
6、实现每一页新特性背景图片(第93)

7、判断新特性是否是最后一页，是就添加按钮

报错：Could not cast value of type 'UICollectionViewCell' (0x108b6fd78) to 'Weibo.YJMNewCell' (0x106e323f0)
原因：是自定义的cell没有使用，使用了系统的cell，导致程序崩溃

*/

private let reuseIdentifier = "Cell"
//设置cell的数量
private var itemCount = 4

class YJMNewFeatCollectionViewController: UICollectionViewController {

    //Layout
    let layout = UICollectionViewFlowLayout()
    
    //构造函数collectionView初始化一个Layout
    init() {
        super.init(collectionViewLayout : layout)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        //重用标识
        self.collectionView?.registerClass(YJMNewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
        
        //调用流水布局
        setupLayout()
    }
    
    //设置流水布局
    private func setupLayout() {
        
        //item大小
        layout.itemSize = self.view.frame.size
        
        //设置去掉间距
        layout.minimumLineSpacing = 0
        layout.minimumLineSpacing = 0
        
        //设置滚动方向
        layout.scrollDirection = UICollectionViewScrollDirection.Horizontal
        
        //分页
        collectionView?.pagingEnabled = true
        //关闭反弹
        collectionView?.bounces = false
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        
    }
    
   
}

extension YJMNewFeatCollectionViewController {
    //MARK: - 数据源方法
    //多少组
    override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return itemCount
    }
    
    
    //返回cell
    override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell{
        //创建cell
        let cell = collectionView .dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! YJMNewCell
        //赋值
        //背景色    
        cell.backgroundColor = UIColor.rendomUIColor()
        
        //设置背景图片
         cell.image = UIImage(named: "new_feature_\(indexPath.item + 1)")
        
        //判断是否是最后一页
        if indexPath.item == itemCount - 1 {
            //是最后一页
            cell.showButton(true)
        }else{
            //不是最后一页
            cell.showButton(false)
        }
        
        return cell
    }

}